跳到主要内容

通过 Docker 部署服务环境

部署 Tomcat 容器

# 拉取 tomcat 镜像
docker pull tomcat

# 可以加个 --rm 来测试容器是否能成功运行(因为加了 --rm,所以运行成功就会删除)
docker run -it --rm tomcat

# 注:因为镜像是尽量保持最小可运行环境,所以其会把 wabapps 里面默认的 root 项目剔除掉
# 这个些被剔除掉的项目保持到了 wabapps.dist 目录里了,
# 所以想要用到这个默认的 root 项目,可以将其复制到 wabapps 里面去
cp -r webapps.dist/* webapps


# 创建并启动 tomcat 容器
# 使用 -v 把本地目录挂载上来
# -p 代表端口映射,格式为 宿主机映射端口:容器运行端口
docker run -d --name=mytomcat -p 9000:8080 -v /user/local/tomcat/webapps:/user/local/tomcat/webapps tomcat

# 然后浏览器访问 http://localhost:9000/ 就能打开 tomcat 页了

部署 MySQL

这里的环境变量配置具体查看官网 Docker Hub--MySQL

# 拉取 MySQL 5.7镜像
docker pull mysql

# -p 代表端口映射,格式为 宿主机映射端口:容器运行端口
# -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 用 root 远程连接时的密码
# 注意,上面那个是远程登陆密码,本地登陆密码(在容器里)还可以设置,但是默认是 root

# 创建 mysql 容器(依赖的环境变量是 mysql)
docker run -d --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql

# 进入容器
docker exec -it mysql5.7 /bin/bash
# 进入 mysql
mysql -u root -p root

因为使用的是 WSL2 所以可以直接使用 localhost 访问到容器里的 mysql

部署 Nginx 容器

参考资料 nginx 80端口被 ‘welcome to nginx‘ 欢迎界面占用,无法使用

具体用到再补充吧

nginx 容器的默认端口是 80

docker pull nginx
docker run -di --name=mynginx -p 80:80 nginx

部署 Redis

docker pull redis
docker run -di --name=myredis -p 6379:6379 redis

Portainer 可视化面板

# 拉取镜像
docker pull portainer/portainer

# 启动
# --restart=always 的作用是当 Docker 重启时,该容器自动启动
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

# http://localhost:9000/
# 创建一个默认账号 admin 密码:12345678